1. Field of the Invention
The present invention generally relates to the field of logically partitioned computer systems. More particularly, the present invention relates to methods, systems, and media for auto-configuration of internal network interfaces for networks that facilitate communication between the partitions of logically partitioned computer systems.
2. Description of the Related Art
Parallel processing generally refers to performing multiple computing tasks in parallel. Traditionally, parallel processing required multiple computer systems with the resources of each computer system dedicated to a specific task or allocated to perform a portion of a common task. For instance, one computer system may be dedicated to sales systems, another to marketing systems, another to payroll systems, etc.
The computer systems typically communicate via local area networks (LANs) to gather data for each specific task and coordinate tasks between the multiple computer systems. Multiple LANs can be implemented to separate communications for purposes related to security and isolation of sensitive tasks and data. Specifically, each computer system is connected to a network switch for a LAN to transmit transactions to other computer systems and each operating system running on the multiple computer systems has its own Transmission Control Protocol/Internet Protocol (TCP/IP) stack to coordinate transmission and receipt of the transactions. For instance, when data is being transmitted out of a computer system, the data is first forwarded to the TCP/IP stack. The TCP/IP stack adds a TCP header to the data to identify the application programs running on the source and the destination computer systems that are involved in the transaction and an IP header to the data to identify the IP addresses of the source and destination computer systems.
However, recent advances in computer hardware and software technologies have resulted in single computer systems capable of performing highly complex parallel processing by logically partitioning the system resources to different tasks running in multiple operating system instances. In a logically partitioned (LPAR) computer system, available system resources are allocated among multiple sets of resources so that each set of resources can be operated independently of the other. The task of splitting these resources among logical partitions is typically accomplished via a layer of firmware components that can be referred to as a partition manager. The partition manager firmware is a layer of software between operating system software and the hardware (for example, processors and memory).
One objective of a partition manager is to allow each logical partition to run software, such as operating systems and operating system specific applications that are typically developed to run on a dedicated computer system with little or no modification. For example, a system administrator may want one logical partition to run IBM's OS/400 operating system, a second logical partition to run IBM's AIX operating system, and a third logical partition to run the LINUX™ operating system. By providing the ability to run multiple operating systems on the same computer system, a LPAR computer system may provide a user with a great deal of freedom to choose the application software best suited to the users' need and with little or no regard to the operating system for which the application program was written. Running multiple logical partitions on a single system can better utilize system resources; for example, the utilization of processors and memory on a logical partitioned system is typically higher than separate systems. System resources can also be moved from one logical partition to another as required.
The partition manager starts and controls logical partitions. In particular, the partition manager controls which operating system runs in which logical partitions and which processing resources and memory resources are available to each partition. The partition manager also isolates partition memory from other partitions and controls which partition owns which I/O adapters.
Some type of systems management function typically controls the partition manager. The system management function will typically run on an external PC or a rack mounted PC. The system administrator uses this system management function to specify the number of partitions, the operating system to use in each partition, processors and memory available to the partition, and I/O adapters assigned to the partition. The system management function can communicate with the partition manager in various methods, for example, a command/response communications interface or via configuration files.
In an effort to facilitate the transition between the multiple computer systems and an LPAR computer system, LPAR computer systems are typically designed to implement internal virtual LANs (internal VLANs) to simulate communication between partitions as if they were conducted through actual LANs of multiple computer systems. Operating systems designed to operate on multiple computer systems implement TCP/IP stacks to facilitate transmission of transactions between computer systems and internal VLANs take advantage of the TCP/IP stacks by maintaining one or more virtual network switches in the partition manager to transmit transactions between partitions. The virtual network switches are governed by rules similar to those of real or physical switches to accommodate transactions based upon limitations associated with the operating systems, although virtual network switches are more flexible with regard to parameters that are related to physical limitations of LANs between multiple computer systems. For instance, buffer sizes within physical network switches of LANs typically restrict frame sizes of associated messages transmitted between computer systems, whereas the buffer sizes allocated for virtual network switches can be selected for optimal communications between partitions.
Advantages related to the reduced physical limitations for internal VLANs have led to increased complexities in configuring internal VLANs. In particular, customers have found that the benefits of isolating internal VLANs outweighs the costs associated with external LANs in more situations since implementing an internal VLAN no longer includes costs related to purchasing, installing, and maintaining network switches, Ethernet cards, cables, and the like. Thus, hundreds to thousands of internal VLANs may potentially be configured for each LPAR computer system.
Manually configuring internal VLANs is time consuming, error prone, and complex. Configuring an internal VLAN involves identifying each virtual network switch with an internal VLAN identification (ID) and, within each of the potentially hundreds to thousands of partitions, manually setting up an internal network interface for each VLAN ID that can be used by the partition. In addition, the internal network interfaces must be adapted for each of the corresponding operating systems to allow each operating system to communicate with other partitions via one or more of the virtual network switches. This is particularly complex since each partition may include different operating systems and the parameters are typically sequences of numbers that are not human-intuitive. A configuration error such as a bad VLAN ID, bad port number, or bad Internet protocol (IP) address, can cause a communication failure between the operating system and the internal network switch. Determining the cause of that communication failure would be time-consuming. Further, configuring internal network interfaces on different operating systems can involve sequences of instructions that are unique to each operating system.
Therefore, there is a need for methods, systems, and media for simplifying the configuration of device interfaces for internal networks such as VLANs, preferably allowing for the automatic configuration of internal network interfaces with little or no user intervention.